fun collatz(n:Int):Boolean{
return true
}
畢竟雖然還沒證明完,不過目前來看的確一定會變成1就是了。
才怪,我們要練習遞迴啦。
fun collatz(n:Int):Boolean{
if(n==1){
return true
}
if(n%2==0){
return collatz(n/2)
}
else{
return collatz(3*n+1)
}
}
大家都有成功嗎?
今天是語法篇的最後一篇,最後我們要來介紹一個好用的語法,叫做class。
畢竟現實不是只有一個個變數而已,一個東西可能還有很多其他的資料。
類別 class 就是我們用來的方案。
在資工的專有名詞中,我們把東西的種類叫做類別Clas,東西叫做物件Object,東西的資料們我們叫做屬性property,然後能做的事叫做方法Method。
比如今天有一隻小狗(物件),他是一種狗(類別),他有名字(屬性)、毛色(屬性),他會握手(方法)、吼叫(方法)。
我們今天要設計狗這種類別,長這個樣子。
class Dog{
var name:String = ""
var color:String = ""
fun shakeHand(){
println("$name shake hand.")
}
fun barking(){
println("$name say: bow-wow")
}
}
其實方法就是class裡面的函式喔,然後是可以呼叫函式裡面的變數的。
而且這個class的語法,其實就是前面有提過的自製變數型別的方法喔,讓我們接著來看宣告完class可以怎麼使用。
fun main(){
var tom = Dog()
tom.name = "tom"
tom.color = "black"
tom.shakeHand()
tom.barking()
println("this is my dog, its name is ${tom.name} , and he is ${tom.color}.")
}
輸出結果長這樣:
tom shake hand.
tom say: bow-wow
this is my dog, its name is tom , and he is black dog.
跟你們想的一樣嗎?
今天可能講的有點不清楚,因為櫛風真的有點不知道要怎麼去教,大家可以的話,還是自己多試試看物件才能更有觀念喔。
實作一個物件Cat,他有屬性 name、color,跟方法moew()、eat()。